// 数据库操作
const mongoose = require("mongoose");
// 模型规则类
const { Schema } = mongoose;
// 对象规则验证
const Joi = require("joi");
// 图片模型规则
const ImageSchema = new Schema(
  {
    // 评论人
    path: {
      type: String,
      required: true,
    },
    uploadAt: {
      type: Date,
      default: Date.now,
    },
  },
  { versionKey: false }
);
// 创建分类集合
const Image = mongoose.model("Image", ImageSchema);

// 文章分类格式校验（路由级别）
const validateImage = (image) => {
  // _id验证规则
  const objectIdReg = /^[0-9a-fA-F]{24}$/;
  // 定义对象验证规则
  const schema = {
    path: Joi.string().required().error(new Error("图片不符合验证规则")),
  };
  // 验证
  return Joi.validate(image, schema, {
    // 检测到所有错误
    abortEarly: false,
    // 允许对象包含被忽略的未知键
    allowUnknown: true,
  });
};

//创建初始数据
// Image.create({
//   path: "/public/uploads/upload_1d98cc6b02ea32ac55c134767f72e713.jpg",
// })
//   .then(() => {
//     console.log("新增图片成功");
//   })
//   .catch(() => {
//     console.log("新增图片失败");
//   });

// 导出模块成员
module.exports = {
  Image,
  validateImage,
};
